export default {
	//开启命名空间
	namespaced: true,
	
	// state 数据
	state: () => ({
		// 3.读取本地的收货地址数据，初始化 address对象
		address: JSON.parse(uni.getStorageSync('address') || '{}')
	}),
	
	// 方法
	mutations: {
		//更新收货地址
		updateAddress(state, address) {
			state.address = address
			
			// 2.通过 this.commit() 方法，调用 m_user模块下的 saveAddressToStorage 方法将 address对象持久化存储到本地
			this.commit('m_user/saveAddressToStorage')
		},
		// 1.定义将 address 持久化储存到本地 mutations 方法
		saveAddressToStorage(state) {
			uni.setStorageSync('address', JSON.stringify(state.address))
		}
	},
	
	//数据包装器
	getters: {
		// 收货详细地址的计算属性
		addstr(state) {
			if(!state.address.provinceName) return ''
			
			// 拼接省，市，区，详细地址 的字符串并返回给用户
			return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
		}
	}
}